# Create your views here.
from django.shortcuts import render_to_response
from django.http import HttpResponse
from models import *
from django.utils import simplejson

from gestion.cuenta_corriente.views import *
from gestion.compras.models import *

class Saldo_de_proveedores(Saldo_de_personas):
  def personas(self):
    return Proveedor.objects.all()

class Resumen_de_proveedores(Resumen_de_cuenta):
  def select(self):
      
                      
      return 	F('', items= [
              F('nombre',verbose='Nombre'),
              F('localidad',verbose='Localidad', title=False),
              F('cuit',verbose='Cuit', title=False),
              F('compras', filter={'comprobante': 'numero_factura','fecha__gte':'fecha_factura_inicio','fecha__lte':'fecha_factura_fin'},items = [
                      F('"Factura"', verbose='Nombre'),
                      F('fecha',verbose='Fecha'),
                      F('comprobante',verbose='Comprobante'),
                      F('total',verbose='Importe', total = True),
                      F('pagado',verbose='Cobrado',total_child="pagos"),
                      F('get_saldo',verbose='Saldo', total=  True),
                      F('anular',verbose='Anulado'),
                      F('pagos', items = [
                              F('"Recibo"', verbose='Nombre'),
                              F('importe',verbose="Cobrado",total=True), 
                              F('recibo_fecha', verbose='Fecha de pago'),
                              F('comprobante', verbose="Recibo"),
                      ]),
              ]),
              F('', verbose='Importe',total=True),
              F('', verbose='Cobrado',total=True),
              F('', verbose='Saldo',total=True),
      ])

  def query(self, form):
          clientes = self.personas()  #filter(ventas__comprobante__isnull=False)
          print "baaaaam", clientes
          if form.cleaned_data['nombre']:
                  clientes = clientes.filter(nombre__icontains=form.cleaned_data['nombre'])
          if form.cleaned_data['cuit']:
                  clientes = clientes.filter(cuit=form.cleaned_data['cuit'])
          if form.cleaned_data['localidad']:
                  clientes = clientes.filter(localidad__nombre=form.cleaned_data['localidad'])
          if form.cleaned_data['fecha_factura_inicio']:
                  clientes = clientes.filter(compras__fecha__gte=form.cleaned_data['fecha_factura_inicio']).distinct()
          if form.cleaned_data['fecha_factura_fin']:
                  clientes = clientes.filter(compras__fecha__lte=form.cleaned_data['fecha_factura_fin']).distinct()
          if form.cleaned_data['numero_factura']:
                  clientes = clientes.filter(compras__comprobante=form.cleaned_data['numero_factura']).distinct()
          
                          
          return clientes
  def personas(self):
    return Proveedor.objects.all()


def ajaxer(request):
	
	results = {}
	GET = request.GET
	action = GET['func_1']
	action2  = GET['func_2']
	print action
	exec("ret = %s; ret2 = %s" % (action,action2))
		
	
	results['result']= ret
	results['result2']= ret2
	print results['result']
	print results['result2']
	
	json = simplejson.dumps(results)	
	return HttpResponse(json, mimetype='application/json')